package xin.clips.system.domain.gy;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import xin.clips.common.annotation.Excel;
import xin.clips.common.core.domain.BaseEntity;
import xin.clips.common.core.domain.entity.SysUser;

/**
 * 站内信对象 gy_inner_message
 *
 * @author clips
 * @date 2023-03-10
 */
public class GyInnerMessage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long messageId;

    /** 接受者id */
    @Excel(name = "接受者id")
    private Long acceptUserId;

    /** 发信者id */
    @Excel(name = "发信者id")
    private Long sendUserId;

    /** 关联工单id */
    @Excel(name = "关联工单id")
    private Long workOrderId;

    /** 站内信状态（0:未读、1:已读、2:删除） */
    @Excel(name = "站内信状态", readConverterExp = "0=:未读、1:已读、2:删除")
    private Integer innerMessageStatus;

    /** 发信时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发信时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;

    /** 信件内容 */
    @Excel(name = "信件内容")
    private String memo;

    /** 备用1 */
    @Excel(name = "站内信分类")
    private String messageType;

    /** 备用2 */
    @Excel(name = "备用2")
    private String by2;

    private SysUser user;

    public SysUser getUser() {
        return user;
    }

    public void setUser(SysUser user) {
        this.user = user;
    }

    public void setMessageId(Long messageId)
    {
        this.messageId = messageId;
    }

    public Long getMessageId()
    {
        return messageId;
    }
    public void setAcceptUserId(Long acceptUserId)
    {
        this.acceptUserId = acceptUserId;
    }

    public Long getAcceptUserId()
    {
        return acceptUserId;
    }
    public void setSendUserId(Long sendUserId)
    {
        this.sendUserId = sendUserId;
    }

    public Long getSendUserId()
    {
        return sendUserId;
    }
    public void setWorkOrderId(Long workOrderId)
    {
        this.workOrderId = workOrderId;
    }

    public Long getWorkOrderId()
    {
        return workOrderId;
    }

    public Integer getInnerMessageStatus() {
        return innerMessageStatus;
    }

    public void setInnerMessageStatus(Integer innerMessageStatus) {
        this.innerMessageStatus = innerMessageStatus;
    }

    public void setSendTime(Date sendTime)
    {
        this.sendTime = sendTime;
    }

    public Date getSendTime()
    {
        return sendTime;
    }
    public void setMemo(String memo)
    {
        this.memo = memo;
    }

    public String getMemo()
    {
        return memo;
    }

    public String getMessageType() {
        return messageType;
    }

    public void setMessageType(String messageType) {
        this.messageType = messageType;
    }

    public void setBy2(String by2)
    {
        this.by2 = by2;
    }

    public String getBy2()
    {
        return by2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("messageId", getMessageId())
            .append("acceptUserId", getAcceptUserId())
            .append("sendUserId", getSendUserId())
            .append("workOrderId", getWorkOrderId())
            .append("innerMessageStatus", getInnerMessageStatus())
            .append("sendTime", getSendTime())
            .append("memo", getMemo())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("by2", getBy2())
            .toString();
    }
}
